Part BooleanFragments/de

Part BoolescheBestandteile

Menüeintrag
Part → Teilen → Boolesche Bestandteile
Arbeitsbereich
Part
Standardtastenkürzel
Keiner
Eingeführt in Version
0.17
Siehe auch
Part Auseinanderschneiden, Part XOdeR, Part ObjekteVerbinden, Part BoolescheVerknüpfung

Beschreibung

Das Werkzeug BoolescheBestandteile berechnet alle Bruchteile, die sich aus der Anwendung boolescher Verknüpfungen zwischen Eingabeformen ergeben können. So werden beispielsweise aus zwei sich schneidende Kugeln drei nicht überlappende, aber berührende Festkörper erzeugt.

Auf dem obigen Bild wurden die Teile anschließend manuell auseinandergezogen, um die Schnitte zu erkennen.

Die Ausgabeform ist immer ein Verbund. Der Inhalt des Verbundes hängt von der Art der Eingangsformen und der Betriebsart ab. Das bedeutet, dass man nicht sofort Zugriff auf einzelne Bestendteile des Ergebnisses hast - die Teile bleiben gruppiert. Die einzelnen Stücke können durch Auflösen des Verbundes entnommen werden (Draft Zurückstufen).

Das Werkzeug verfügt über drei Modi: "Standard", "Teilen" und "VerbundFestkörper".

"Standard" und "Teilen" unterscheiden sich durch die Wirkung des Werkzeugs auf Drähte, Hüllen und Verbundkörper: Wenn "Teilen", werden diese getrennt; wenn "Standard", werden sie zusammen gehalten (erhalten zusätzlicher Segmente).

Die Verbundstruktur im "Standard" und "Teilen" Modus folgt der Verbundstruktur der Eingänge. Das heißt, wenn du zwei Verbindungen einspeist, die jeweils eine Kugel enthalten, wie zum Beispiel oben, enthält das Ergebnis auch zwei Verbünde, die jeweils die Stücke der ursprünglich enthaltenen Kugel enthalten. Das bedeutet, dass das vereinigte Stück zweimal im Ergebnis wiederholt wird. Nur wenn die Eingangskugeln beide nicht in Verbünden vorliegen, enthält das Ergebnis das vereinigte Stück einmal.

Im "Verbundkörper" Modus werden die Festkörper zu einem Verbundkörper verbunden (Verbundkörper ist ein Satz von Festkörpern, die durch Flächen verbunden sind; sie sind mit Festkörpern verbunden, wie Drähte mit Kanten und Schalen mit Flächen; der Name ist wahrscheinlich ein verkürzter Satz "Verbundkörper"). Die Ausgabe ist eine nicht verschachtelte Verbindung von Verbundkörpern.

Anwendung

  1. Die zu (ver-) schneidenden Objekte auswählen. Die Reihenfolge der Auswahl ist nicht wichtig, da die Auswirkung des Werkzeugs symmetrisch ist. Es genügt, von jedem Objekt eine Teilform (z.B. eine Fläche) auszuwählen. Es kann auch ein Verbund ausgewählt werden, der alle zu verbindenden Formen enthält, z.B. eine rechtwinklige Anordnung.
  2. Es gibt mehrere Möglichkeiten, den Befehl aufzurufen:
    • Die Schaltfläche Boolesche Bestandteile drücken.
    • Den Menüeintrag Part → Teilen → Boolesche Bestandteile auswählen.
  3. Ein parametrisches Boolesche-Bestandteile-Objekt wird erstellt. Die originalen Objekte werden ausgeblendet und das Ergebnis des Schneidens wird in der 3D-Ansicht angezeigt.

Eigenschaften

Boolesche Fragmente

Implementierungsdetails

Das Werkzeug Boolesche Bestandteile im "Standardmodus" ist der allgemeine Verschmelzungs-Operator (engl.: General Fuse Operator (GFA)) von OpenCascade. Es akzeptiert eine Kombination von wahrscheinlich allen Formtypen, und die Logik der Ausgabe ist ziemlich kompliziert. Siehe OpenCascade Benutzerhandbuch: Boolesche Verknüpfungen.

Für die Modi "Teilen" und "VerbundKörper" erfolgt eine zusätzliche Nachbearbeitung durch FreeCAD.

Skripten

Das Werkzeug kann in Makros und von der Python-Konsole aus mit der folgenden Funktion verwendet werden:

BOPTools.SplitFeatures.makeBooleanFragments(name)

BoolescheFragmente kann auch auf einfache Formen angewendet werden, ohne dass ein Dokumentobjekt erforderlich ist, via:

import BOPTools.SplitAPI
BOPTools.SplitAPI.booleanFragments(list_of_shapes, mode, tolerance = 0.0)

# OR, for Standard mode:

list_of_shapes = [App.ActiveDocument.Sphere.Shape, App.ActiveDocument.Sphere001.Shape]
pieces, map = list_of_shapes[0].generalFuse(list_of_shapes[1:], tolerance)
# pieces receives a compound of shapes; map receives a list of lists of shapes, defining list_of_shapes <--> pieces correspondence

Dies kann nützlich sein, um benutzerdefinierte Python Skriptfunktionen zu erstellen.

Beispiel:

import BOPTools.SplitFeatures
j = BOPTools.SplitFeatures.makeBooleanFragments(name= 'BooleanFragments')
j.Objects = FreeCADGui.Selection.getSelection()

Das Werkzeug selbst ist in Python implementiert, siehe /Mod/Part/BOPTools/SplitFeatures.py unter dem FreeCAD installiert ist.

Hinweise

Das Werkzeug wurde in FreeCAD v0.17.8053 eingeführt. FreeCAD muss mit OCC 6.9.0 oder höher kompiliert werden, da das Werkzeug sonst nicht verfügbar ist.